// Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov  Date: 2007-9-15 18:54:26

// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   st.java

package com.zelix;

import java.io.*;
import java.util.HashSet;
import java.util.Hashtable;

// Referenced classes of package com.zelix:
//            pt, tb, dc, ms, 
//            is, ns, os, qs, 
//            ys, kt, lx, jb, 
//            qy, zs, nh

class st extends pt
{

    is o;
    private static String z[];

    st(kt kt1, int i, String s1, jb jb, qy qy)
        throws IOException, dc
    {
        super(kt1, i, s1, jb, qy);
        int j = jb.readUnsignedShort();
        o = a(j);
        if(!(o instanceof qs) && !(o instanceof ns) && !(o instanceof ms) && !(o instanceof os) && !(o instanceof ys))
            throw new dc(j() + z[1] + z[0]);
        else
            return;
    }

    st(kt kt1, zs zs, is is1)
    {
        super(kt1, zs, 2);
        o = is1;
    }

    long s()
    {
        if(o instanceof qs)
        {
            return ((qs)o).m();
        } else
        {
            lx.b(false, j() + " " + o.getClass().getName());
            return 0L;
        }
    }

    ys t()
    {
        if(o instanceof ys)
            return (ys)o;
        else
            return null;
    }

    public void b(HashSet hashset)
    {
        hashset.add(o);
    }

    protected void a(DataOutputStream dataoutputstream, Hashtable hashtable, nh nh)
        throws IOException, tb
    {
        super.a(dataoutputstream, hashtable, nh);
        dataoutputstream.writeShort(o.j());
    }

    private static String z(char[] chs) {
        for (int i = 0; i < chs.length; i++) {
            byte key = 0;
            switch (i % 5) {
                case 0:
                    key = 0x5b;
                    break;
                case 1:
                    key = 76;
                    break;
                case 2:
                    key = 64;
                    break;
                case 3:
                    key = 18;
                    break;
                default:
                    key = 27;
                    break;
            }
            chs[i] ^= key;
        }
        return new String(chs).intern();
    }

    static 
    {
        String as[];
        as = new String[2];
        as[0] = z("\022\"6sw2(`Qt5?4su/\032!~n>l\001fo)%\"go>".toCharArray());
        as[1] = z("{v`".toCharArray());
        z = as;

    }
}